package com.example.myapplication;

import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast; // 新增：导入Toast（之前可能漏了）
import androidx.appcompat.app.AppCompatActivity;
import androidx.cardview.widget.CardView; // 新增：导入CardView（卡片控件需要）

public class GameDetailActivity extends AppCompatActivity {
    private TextView tvBack;
    private ImageView ivIcon;
    private TextView tvName;
    private TextView tvDescription;
    // 新增：声明卡片控件（可选，也可直接在方法内查找）
    private CardView cardVoiceChannel;
    private CardView cardForum;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_detail);

        initViews(); // 初始化所有控件（包括卡片）
        showGameData();
        setBackListener();
        setCardClickListeners(); // 新增：单独绑定卡片点击事件（也可写在initViews里）
    }

    // 初始化控件：所有findViewById必须放在方法内
    private void initViews() {
        // 原有控件初始化
        tvBack = findViewById(R.id.tv_back);
        ivIcon = findViewById(R.id.iv_detail_icon);
        tvName = findViewById(R.id.tv_detail_name);
        tvDescription = findViewById(R.id.tv_detail_description);

        // 新增：在方法内查找卡片控件（关键修复点）
        cardVoiceChannel = findViewById(R.id.card_voice_channel);
        cardForum = findViewById(R.id.card_forum);
    }

    // 新增：卡片点击事件绑定（放在方法内执行）
    private void setCardClickListeners() {
        // 语音频道卡片点击
        cardVoiceChannel.setOnClickListener(v -> {
            Toast.makeText(GameDetailActivity.this, "进入语音频道", Toast.LENGTH_SHORT).show();
        });

        // 论坛卡片点击
        cardForum.setOnClickListener(v -> {
            Toast.makeText(GameDetailActivity.this, "进入交流论坛", Toast.LENGTH_SHORT).show();
        });
    }

    // 原有方法：获取并展示游戏数据（无修改）
    private void showGameData() {
        Game game = getIntent().getParcelableExtra("GAME_DATA");
        if (game != null) {
            ivIcon.setImageResource(game.getIconResId());
            tvName.setText(game.getName());
            tvDescription.setText(game.getDescription());
        } else {
            finish();
        }
    }

    // 原有方法：返回按钮点击（无修改）
    private void setBackListener() {
        tvBack.setOnClickListener(v -> finish());
    }
}